package $serverSideEOFPackage;
import com.webobjects.eoaccess.EODatabaseContext;
import com.webobjects.eoaccess.EOEntity;
import com.webobjects.eoaccess.EOModelGroup;
import com.webobjects.eoaccess.EORelationship;
import com.webobjects.eoaccess.EOUtilities;
import com.webobjects.eocontrol.EOEditingContext;
import com.webobjects.eocontrol.EOEnterpriseObject;
import com.webobjects.eocontrol.EOGenericRecord;
import com.webobjects.eocontrol.EOGlobalID;
import com.webobjects.eocontrol.EOQualifier;
import com.webobjects.foundation.NSDictionary;
import com.webobjects.foundation.NSMutableDictionary;
public class MyGenericRecord extends EOGenericRecord {
public MyGenericRecord() {
super();
}
public EOQualifier qualifierForRelationshipWithKey(String aKey) {
willRead();
if (aKey != null) {
String anEntityName = entityName();
EOEntity anEntity = EOModelGroup.defaultGroup().entityNamed(
anEntityName);
EORelationship aRelationship = anEntity.relationshipNamed(aKey);
if (aRelationship != null) {
EOEditingContext anEditingContext = editingContext();
EOGlobalID aGlobalID = anEditingContext.globalIDForObject(this);
String aModelName = anEntity.model().name();
EODatabaseContext aDatabaseContext = EOUtilities
.databaseContextForModelNamed(anEditingContext,
aModelName);
aDatabaseContext.lock();
NSDictionary aRow = aDatabaseContext
.snapshotForGlobalID(aGlobalID);
aDatabaseContext.unlock();
EOQualifier aQualifier = aRelationship
.qualifierWithSourceRow(aRow);
return aQualifier;
}
}
return null;
}
}